//
// Created by iguilty on 2022-01-12.
//

#ifndef DESIGN_PATTERN_CPP_PROTOTYPE_H
#define DESIGN_PATTERN_CPP_PROTOTYPE_H


class Prototype
{
public:
    virtual ~Prototype();
    virtual Prototype* Clone() const = 0;
protected:
    Prototype();
private:
};
class ConcretePrototype:public Prototype
{
public:
    ConcretePrototype();
    ConcretePrototype(const
                      ConcretePrototype& cp);
    ~ConcretePrototype();
    Prototype* Clone() const;
protected:
private:
};


#endif //DESIGN_PATTERN_CPP_PROTOTYPE_H
